
export namespace IYcContextMenu {

    export type ItemConfig = {
        label: string;
        html?: boolean;
        classes?: string[];
        preventCloseOnClick?: boolean;
        disabled?: boolean;
        callback?: Function;
        command?: string;
        children?: Array<Item | '-'>
    }

    export type Item = ItemConfig | '-'

    export type Config<T> = Partial<{
        contextMenuClass: string;
        dropdownClass: string;
        dividerClass: string;
        menuItemClass: string;
        itemClass: string;
        disabledClass: string;
        zIndex: number;
        preventCloseOnClick: boolean;
        useLists: boolean;
        listClass: string;
        listItemClass: string;
        fastClick: boolean;
        closeIfOpen: boolean;
        title: string,
        show: (event: Event, inst: T) => boolean;
    }>
}